.\" This man page was written by Jeremy Phelps <jphelps@notreached.net>.
.\"
.\" %%%LICENSE_START(FREELY_REDISTRIBUTABLE)
.\" Redistribute and modify at will.
.\" %%%LICENSE_END
.\"
.TH GETPT 3 2021-03-22 "GNU" "Linux Programmer's Manual"
.SH NAME
getpt \- open a new pseudoterminal master
.SH SYNOPSIS
.nf
.BR "#define _GNU_SOURCE" "             /* See feature_test_macros(7) */"
.B #include <stdlib.h>
.PP
.B "int getpt(void);"
.fi
.SH DESCRIPTION
.BR getpt ()
opens a new pseudoterminal device and returns a file descriptor
that refers to that device.
It is equivalent to opening the pseudoterminal multiplexor device
.PP
.in +4n
.EX
open("/dev/ptmx", O_RDWR);
.EE
.in
.PP
on Linux systems, though the pseudoterminal multiplexor device is located
elsewhere on some systems that use the GNU C library.
.SH RETURN VALUE
.BR getpt ()
returns an open file descriptor upon successful completion.
Otherwise, it
returns \-1 and sets
.I errno
to indicate the error.
.SH ERRORS
.BR getpt ()
can fail with various errors described in
.BR open (2).
.SH VERSIONS
.BR getpt ()
is provided in glibc since version 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.ad l
.nh
.TS
allbox;
lbx lb lb
l l l.
Interface	Attribute	Value
T{
.BR getpt ()
T}	Thread safety	MT-Safe
.TE
.hy
.ad
.sp 1
.SH CONFORMING TO
.BR getpt ()
is glibc-specific;
use
.BR posix_openpt (3)
instead.
.SH SEE ALSO
.BR grantpt (3),
.BR posix_openpt (3),
.BR ptsname (3),
.BR unlockpt (3),
.BR ptmx (4),
.BR pty (7)
.SH COLOPHON
This page is part of release 5.13 of the Linux
.I man-pages
project.
A description of the project,
information about reporting bugs,
and the latest version of this page,
can be found at
\%https://www.kernel.org/doc/man\-pages/.
